package com.venutech.gongan.dao;

import com.venutech.gongan.dto.rpc.common.vo.PoleDto;
import com.venutech.gongan.entity.Equipmen;
import com.venutech.gongan.entity.Jkgw;
import com.venutech.gongan.entity.TempUserBindJkgw;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

//关联表
@Mapper
public interface EquipmenMapper {
    //根据qrid查询多个设备id
    List<Integer> getByQrId(Integer qr_id);

    //向关联表插入杆件ID和设备ID
    int insertSbBind(@Param("qr_id") Integer qr_id,@Param("gw_id") Integer gw_id, @Param("sb_id")Integer sb_id);

    //根据杆位ID修改设备ID
    int updateSbBind(Integer gw_id,Integer sb_id);

    //查询杆位id
    List<Equipmen> getGwIdList();

    //根据杆位ID查询设备ID
    List<Integer> findByGwID(Integer gw_id);

    //根据杆位ID删除信息
    int deleteByGwid(Integer gw_id);

    /**
     * 根据poleId,equipId参数来解绑指定的设备
     * @param poleId 杆位ID
     * @param equipId 设备ID
     * @return Integer
     */
    int unBindPoleid(@Param("poleId") Integer poleId, @Param("equipId") Integer equipId);

    /**
     * 在解绑的时候防止重复提交解绑
     * @param poleId
     * @param equipId
     * @return
     */
    Equipmen findQdsxjByEquipId(@Param("poleId") Integer poleId,  @Param("equipId") Integer equipId);

    /**
     * 根据gw_id编号找到绑定对应的标位
     * @param
     * @return
     */
    Jkgw findByJkgwId(@Param("gw_id") int gw_id);

    PoleDto findByPoleId(@Param("gw_id") int gw_id);

    /**
     * 根据桅杆ID来获取对应绑定的设备ID
     * @param gwids
     * @return
     */
    List<Equipmen> getSbidByGwid(List<Equipmen> gwids);

    List<Equipmen> getByGwid(Integer gw_id);

    List<Equipmen> getBySbid(Integer sb_id);

    /**
     * @Author liuzhengli
     * @Description //TODO 根据设备id来查找对应绑定的杆位
     * @Date  2021/8/6 0006 14:59
     * @Param * @param null:
     * @return
     */
    Equipmen getEquipmentBySbId(@Param("sb_id") Integer sb_id);

    Equipmen deleteEquipmen(Integer poleId);

    /**
     * @Author liuzhengli
     * @Description //TODO
     * @Date  根据二维码id和杆位id去绑定表查询是否存在 21:19
     * @Param * @param null:
     * @return
     */
    Equipmen getTbEquipmen(@Param("qrid") Integer qrid, @Param("gw_id") Integer gw_id);

    /**
     * @Author liuzhengli
     * @Description //TODO 根据二维码id和杆位id去绑定表查询是否存在
     * @Date  2021/8/21 0021 21:31
     * @Param * @param null: 
     * @return 
     */
    int insertTbTempUserBindJkgw(@Param("tmp_user_id") Integer tmp_user_id,@Param("qrIdMD5") String qrIdMD5);

    TempUserBindJkgw findTempUserBindJkgwByQrIdMd5(@Param("qrIdMD5") String qrIdMD5);

    /**
     * @Author liuzhengli
     * @Description //TODO
     * @Date  2021/8/22 0022 1:36
     * @Param * @param null:
     * @return
     */
    List<Equipmen> findByGwidPoleId(@Param("poleId") Integer poleId);

    int updateQrId(@Param("poleId") int poleId, @Param("qrId") int qrId);

    List<Equipmen> getEquList();

    Equipmen getEquBySbIdList(@Param("sb_id") int sb_id);

}
